<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: Aria Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.4</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classAria.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
<a href="classAria-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Aria Class Reference<div class="ingroups"><a class="el" href="group__ImportantClasses.html">Important Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Contains global initialization, deinitialization and other global functions.  
 <a href="classAria.html#details">More...</a></p>

<p><code>#include &lt;ariaInternal.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a4bc18753e51734bdf7743a9e7ca56a25"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25">SigHandleMethod</a> { <a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25ad660028ed08bb904b86d16651e56a8a3">SIGHANDLE_SINGLE</a>, 
<a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25a604a8b71847ee3c5af650f96404053d6">SIGHANDLE_THREAD</a>, 
<a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25a7a7ad2c4f31056bbd2c3ada3c170ba7c">SIGHANDLE_NONE</a>
 }</td></tr>
<tr class="separator:a4bc18753e51734bdf7743a9e7ca56a25"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a5c4bfae6980dd3a7655a4cc7b32d1aa4"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a5c4bfae6980dd3a7655a4cc7b32d1aa4">addExitCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *functor, int position=50)</td></tr>
<tr class="memdesc:a5c4bfae6980dd3a7655a4cc7b32d1aa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a functor to by called before program exit by <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a>  <a href="#a5c4bfae6980dd3a7655a4cc7b32d1aa4">More...</a><br /></td></tr>
<tr class="separator:a5c4bfae6980dd3a7655a4cc7b32d1aa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3777666ca7191888f762c8f40f8a9b46"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a3777666ca7191888f762c8f40f8a9b46">addInitCallBack</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *cb, <a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> position)</td></tr>
<tr class="memdesc:a3777666ca7191888f762c8f40f8a9b46"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback to call when <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is initialized using <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">init()</a>  <a href="#a3777666ca7191888f762c8f40f8a9b46">More...</a><br /></td></tr>
<tr class="separator:a3777666ca7191888f762c8f40f8a9b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf44455d5342f42850bc0c4670a03b49"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaf44455d5342f42850bc0c4670a03b49"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#aaf44455d5342f42850bc0c4670a03b49">addLogOptionsCB</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *functor, int position=50)</td></tr>
<tr class="memdesc:aaf44455d5342f42850bc0c4670a03b49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback for when we log options. <br /></td></tr>
<tr class="separator:aaf44455d5342f42850bc0c4670a03b49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1acbbf2d786221fda013d73dc4ecb126"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1acbbf2d786221fda013d73dc4ecb126"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a1acbbf2d786221fda013d73dc4ecb126">addParseArgsCB</a> (<a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; *functor, int position=50)</td></tr>
<tr class="memdesc:a1acbbf2d786221fda013d73dc4ecb126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback for when we parse arguments. <br /></td></tr>
<tr class="separator:a1acbbf2d786221fda013d73dc4ecb126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0426075f8e07f443423db1a70f4c99a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0426075f8e07f443423db1a70f4c99a"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#af0426075f8e07f443423db1a70f4c99a">addRobot</a> (<a class="el" href="classArRobot.html">ArRobot</a> *robot)</td></tr>
<tr class="memdesc:af0426075f8e07f443423db1a70f4c99a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a robot to the global list of robots. <br /></td></tr>
<tr class="separator:af0426075f8e07f443423db1a70f4c99a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17deb892ace525987dae1ff1b39de9a1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a17deb892ace525987dae1ff1b39de9a1">addUninitCallBack</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *cb, <a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a> position)</td></tr>
<tr class="memdesc:a17deb892ace525987dae1ff1b39de9a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a callback to call when <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is uninititialized using <a class="el" href="classAria.html#a5970d7ac6a16b99b0e08d4cbedd78724" title="Performs OS-specific deinitialization, used by shutdown() and exit(). ">uninit()</a>  <a href="#a17deb892ace525987dae1ff1b39de9a1">More...</a><br /></td></tr>
<tr class="separator:a17deb892ace525987dae1ff1b39de9a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c3b453f8e9c39b4594f08fef6d82be"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a03c3b453f8e9c39b4594f08fef6d82be">batteryAddCreator</a> (const char *batteryType, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArBatteryMTX.html">ArBatteryMTX</a> *, int, const char * &gt; *creator)</td></tr>
<tr class="memdesc:a03c3b453f8e9c39b4594f08fef6d82be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a type of battery for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create.  <a href="#a03c3b453f8e9c39b4594f08fef6d82be">More...</a><br /></td></tr>
<tr class="separator:a03c3b453f8e9c39b4594f08fef6d82be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868be7c1788a4581658e6315c85b6c5f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArBatteryMTX.html">ArBatteryMTX</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a868be7c1788a4581658e6315c85b6c5f">batteryCreate</a> (const char *batteryType, int batteryNumber, const char *prefix=&quot;Aria::batteryCreate&quot;)</td></tr>
<tr class="memdesc:a868be7c1788a4581658e6315c85b6c5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a battery of the given type.  <a href="#a868be7c1788a4581658e6315c85b6c5f">More...</a><br /></td></tr>
<tr class="separator:a868be7c1788a4581658e6315c85b6c5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecbce5b997f8d7dbca1dc32abfc0a96e"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#aecbce5b997f8d7dbca1dc32abfc0a96e">batteryGetChoices</a> (void)</td></tr>
<tr class="memdesc:aecbce5b997f8d7dbca1dc32abfc0a96e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible battery types (for use in the config)  <a href="#aecbce5b997f8d7dbca1dc32abfc0a96e">More...</a><br /></td></tr>
<tr class="separator:aecbce5b997f8d7dbca1dc32abfc0a96e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2131a52e77adc4c90712ee64e47fe64"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ae2131a52e77adc4c90712ee64e47fe64">batteryGetTypes</a> (void)</td></tr>
<tr class="memdesc:ae2131a52e77adc4c90712ee64e47fe64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible battery types.  <a href="#ae2131a52e77adc4c90712ee64e47fe64">More...</a><br /></td></tr>
<tr class="separator:ae2131a52e77adc4c90712ee64e47fe64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d9d4c555cca224573f88e365478e5da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8d9d4c555cca224573f88e365478e5da"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a8d9d4c555cca224573f88e365478e5da">callExitCallbacks</a> (void)</td></tr>
<tr class="memdesc:a8d9d4c555cca224573f88e365478e5da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal, calls the exit callbacks. <br /></td></tr>
<tr class="separator:a8d9d4c555cca224573f88e365478e5da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeacf6c94ab9b8662b6a6f5d9f273aa9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeacf6c94ab9b8662b6a6f5d9f273aa9"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#adeacf6c94ab9b8662b6a6f5d9f273aa9">delRobot</a> (<a class="el" href="classArRobot.html">ArRobot</a> *robot)</td></tr>
<tr class="memdesc:adeacf6c94ab9b8662b6a6f5d9f273aa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a robot from the global list of robots. <br /></td></tr>
<tr class="separator:adeacf6c94ab9b8662b6a6f5d9f273aa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f304d4e47f929ae56c3b702d5f3db85"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a6f304d4e47f929ae56c3b702d5f3db85">deviceConnectionAddCreator</a> (const char *deviceConnectionType, <a class="el" href="classArRetFunctor3.html">ArRetFunctor3</a>&lt; <a class="el" href="classArDeviceConnection.html">ArDeviceConnection</a> *, const char *, const char *, const char * &gt; *creator)</td></tr>
<tr class="memdesc:a6f304d4e47f929ae56c3b702d5f3db85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a type of deviceConnection for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create.  <a href="#a6f304d4e47f929ae56c3b702d5f3db85">More...</a><br /></td></tr>
<tr class="separator:a6f304d4e47f929ae56c3b702d5f3db85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a110b53f7cc33f227b9eba0dfbcf8390f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArDeviceConnection.html">ArDeviceConnection</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a110b53f7cc33f227b9eba0dfbcf8390f">deviceConnectionCreate</a> (const char *deviceConnectionType, const char *port, const char *defaultInfo, const char *prefix=&quot;Aria::deviceConnectionCreate&quot;)</td></tr>
<tr class="memdesc:a110b53f7cc33f227b9eba0dfbcf8390f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a deviceConnection of the given type.  <a href="#a110b53f7cc33f227b9eba0dfbcf8390f">More...</a><br /></td></tr>
<tr class="separator:a110b53f7cc33f227b9eba0dfbcf8390f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d6b3e96b4019c65a22efbed98d8f1c"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a09d6b3e96b4019c65a22efbed98d8f1c">deviceConnectionGetChoices</a> (void)</td></tr>
<tr class="memdesc:a09d6b3e96b4019c65a22efbed98d8f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible deviceConnection types (for use in the config)  <a href="#a09d6b3e96b4019c65a22efbed98d8f1c">More...</a><br /></td></tr>
<tr class="separator:a09d6b3e96b4019c65a22efbed98d8f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9027ef5c17e698423cbe34bc5f01a0af"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a9027ef5c17e698423cbe34bc5f01a0af">deviceConnectionGetTypes</a> (void)</td></tr>
<tr class="memdesc:a9027ef5c17e698423cbe34bc5f01a0af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible deviceConnection types.  <a href="#a9027ef5c17e698423cbe34bc5f01a0af">More...</a><br /></td></tr>
<tr class="separator:a9027ef5c17e698423cbe34bc5f01a0af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6abc3d39b3e9548063bb8e78375acc17"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17">exit</a> (int exitCode=0)</td></tr>
<tr class="memdesc:a6abc3d39b3e9548063bb8e78375acc17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shutdown all <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> processes/threads, call exit callbacks, and exit the program.  <a href="#a6abc3d39b3e9548063bb8e78375acc17">More...</a><br /></td></tr>
<tr class="separator:a6abc3d39b3e9548063bb8e78375acc17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a754e2bd0104c1e7a2912556bbba75ede"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a754e2bd0104c1e7a2912556bbba75ede">exitOld</a> (int exitCode=0)</td></tr>
<tr class="memdesc:a754e2bd0104c1e7a2912556bbba75ede"><td class="mdescLeft">&#160;</td><td class="mdescRight">Force an exit of all <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> processes/threads (the old way)  <a href="#a754e2bd0104c1e7a2912556bbba75ede">More...</a><br /></td></tr>
<tr class="separator:a754e2bd0104c1e7a2912556bbba75ede"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a3b572771bb33029637750f79eb31c6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArRobot.html">ArRobot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a1a3b572771bb33029637750f79eb31c6">findRobot</a> (char *name)</td></tr>
<tr class="memdesc:a1a3b572771bb33029637750f79eb31c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a robot in the global list of robots, by name.  <a href="#a1a3b572771bb33029637750f79eb31c6">More...</a><br /></td></tr>
<tr class="separator:a1a3b572771bb33029637750f79eb31c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace50b4190f04bcacaf285bb5830c5fc2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArConfig.html">ArConfig</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ace50b4190f04bcacaf285bb5830c5fc2">getConfig</a> (void)</td></tr>
<tr class="memdesc:ace50b4190f04bcacaf285bb5830c5fc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the <a class="el" href="classArConfig.html" title="Stores configuration information which may be read to and from files or other sources. ">ArConfig</a> for this program.  <a href="#ace50b4190f04bcacaf285bb5830c5fc2">More...</a><br /></td></tr>
<tr class="separator:ace50b4190f04bcacaf285bb5830c5fc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cbf9a172cb85275b05d391685f223e0"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a9cbf9a172cb85275b05d391685f223e0">getDirectory</a> (void)</td></tr>
<tr class="memdesc:a9cbf9a172cb85275b05d391685f223e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the directory that ARIA resides in.  <a href="#a9cbf9a172cb85275b05d391685f223e0">More...</a><br /></td></tr>
<tr class="separator:a9cbf9a172cb85275b05d391685f223e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3865f915b415dcf51bb885e5a40099cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3865f915b415dcf51bb885e5a40099cb"></a>
static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a3865f915b415dcf51bb885e5a40099cb">getIdentifier</a> (void)</td></tr>
<tr class="memdesc:a3865f915b415dcf51bb885e5a40099cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the identifier (for humans) used for this instance of <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a>. <br /></td></tr>
<tr class="separator:a3865f915b415dcf51bb885e5a40099cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1d44610d83bc5112040bc7d4c602ba9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArStringInfoGroup.html">ArStringInfoGroup</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#af1d44610d83bc5112040bc7d4c602ba9">getInfoGroup</a> (void)</td></tr>
<tr class="memdesc:af1d44610d83bc5112040bc7d4c602ba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the <a class="el" href="classArStringInfoGroup.html" title="This class takes callbacks from different classes that want this string information and then lets you...">ArStringInfoGroup</a> for this program.  <a href="#af1d44610d83bc5112040bc7d4c602ba9">More...</a><br /></td></tr>
<tr class="separator:af1d44610d83bc5112040bc7d4c602ba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a9601b0b39cba97a3048118e414941"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArJoyHandler.html">ArJoyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a61a9601b0b39cba97a3048118e414941">getJoyHandler</a> (void)</td></tr>
<tr class="memdesc:a61a9601b0b39cba97a3048118e414941"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the joystick handler if one has been set with <a class="el" href="classAria.html#ae5773b1e67a77b0eaa1577a55c5e920c" title="Sets the joystick handler, so that other classes can find it using getJoyHandler() ...">setJoyHandler()</a>  <a href="#a61a9601b0b39cba97a3048118e414941">More...</a><br /></td></tr>
<tr class="separator:a61a9601b0b39cba97a3048118e414941"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b8042b38b19d6a5d3cfbed4df483e67"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArKeyHandler.html">ArKeyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a5b8042b38b19d6a5d3cfbed4df483e67">getKeyHandler</a> (void)</td></tr>
<tr class="memdesc:a5b8042b38b19d6a5d3cfbed4df483e67"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a pointer to the global key handler, if one has been set with <a class="el" href="classAria.html#a9e5496a4ec2c379c8e18706922b57cc1" title="Sets the key handler, so that other classes can find it using getKeyHandler() ">setKeyHandler()</a>  <a href="#a5b8042b38b19d6a5d3cfbed4df483e67">More...</a><br /></td></tr>
<tr class="separator:a5b8042b38b19d6a5d3cfbed4df483e67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a871f3b10da8cecb191b86425bfbe5b19"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a871f3b10da8cecb191b86425bfbe5b19">getMaxNumBatteries</a> (void)</td></tr>
<tr class="memdesc:a871f3b10da8cecb191b86425bfbe5b19"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the maximum number of batteris to use.  <a href="#a871f3b10da8cecb191b86425bfbe5b19">More...</a><br /></td></tr>
<tr class="separator:a871f3b10da8cecb191b86425bfbe5b19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a2dcc5661ad6dafa8615880b478230c"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a9a2dcc5661ad6dafa8615880b478230c">getMaxNumLasers</a> (void)</td></tr>
<tr class="memdesc:a9a2dcc5661ad6dafa8615880b478230c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the maximum number of lasers to use.  <a href="#a9a2dcc5661ad6dafa8615880b478230c">More...</a><br /></td></tr>
<tr class="separator:a9a2dcc5661ad6dafa8615880b478230c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfdbe360e1646d9a4a1ab6947d2960c8"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#abfdbe360e1646d9a4a1ab6947d2960c8">getMaxNumLCDs</a> (void)</td></tr>
<tr class="memdesc:abfdbe360e1646d9a4a1ab6947d2960c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the maximum number of lcds to use.  <a href="#abfdbe360e1646d9a4a1ab6947d2960c8">More...</a><br /></td></tr>
<tr class="separator:abfdbe360e1646d9a4a1ab6947d2960c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dcacb858e021888d32a883faf8d0351"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dcacb858e021888d32a883faf8d0351"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a7dcacb858e021888d32a883faf8d0351">getMaxNumPTZs</a> ()</td></tr>
<tr class="memdesc:a7dcacb858e021888d32a883faf8d0351"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set maximum limit on PTZ or PTU devices, used by <a class="el" href="classArPTZConnector.html" title="Factory for creating and configuring interfaces for pan/tilt units or camera pan/tilt/zoom control ba...">ArPTZConnector</a>. <br /></td></tr>
<tr class="separator:a7dcacb858e021888d32a883faf8d0351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74f878716e24fb42bb29f5756975f31f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a74f878716e24fb42bb29f5756975f31f">getMaxNumSonarBoards</a> (void)</td></tr>
<tr class="memdesc:a74f878716e24fb42bb29f5756975f31f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the maximum number of sonars to use.  <a href="#a74f878716e24fb42bb29f5756975f31f">More...</a><br /></td></tr>
<tr class="separator:a74f878716e24fb42bb29f5756975f31f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f0302d891e857981a9b1c4b05631b47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f0302d891e857981a9b1c4b05631b47"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a5f0302d891e857981a9b1c4b05631b47">getMaxNumVideoDevices</a> ()</td></tr>
<tr class="memdesc:a5f0302d891e857981a9b1c4b05631b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get maximum limit on video devices (used by ArVideo library) <br /></td></tr>
<tr class="separator:a5f0302d891e857981a9b1c4b05631b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b4e299844dd6775398530c9f4a6f260"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArRobotJoyHandler.html">ArRobotJoyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a3b4e299844dd6775398530c9f4a6f260">getRobotJoyHandler</a> (void)</td></tr>
<tr class="memdesc:a3b4e299844dd6775398530c9f4a6f260"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the robot joystick handler if one has been set.  <a href="#a3b4e299844dd6775398530c9f4a6f260">More...</a><br /></td></tr>
<tr class="separator:a3b4e299844dd6775398530c9f4a6f260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab79a01958af8db8d1c38d62968c96dfa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab79a01958af8db8d1c38d62968c96dfa"></a>
static std::list&lt; <a class="el" href="classArRobot.html">ArRobot</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ab79a01958af8db8d1c38d62968c96dfa">getRobotList</a> ()</td></tr>
<tr class="memdesc:ab79a01958af8db8d1c38d62968c96dfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a copy of the global robot list. <br /></td></tr>
<tr class="separator:ab79a01958af8db8d1c38d62968c96dfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a573c386c42739be20fa97a99ae65f9ee"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a573c386c42739be20fa97a99ae65f9ee">getRunning</a> (void)</td></tr>
<tr class="memdesc:a573c386c42739be20fa97a99ae65f9ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sees if <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is still running (mostly for the thread in main)  <a href="#a573c386c42739be20fa97a99ae65f9ee">More...</a><br /></td></tr>
<tr class="separator:a573c386c42739be20fa97a99ae65f9ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad99c16b5d947229d9f8e1c5b2d4cdd73"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73">init</a> (<a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25">SigHandleMethod</a> method=<a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25a604a8b71847ee3c5af650f96404053d6">SIGHANDLE_THREAD</a>, bool initSockets=true, bool sigHandleExitNotShutdown=true)</td></tr>
<tr class="memdesc:ad99c16b5d947229d9f8e1c5b2d4cdd73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> global data struture and perform OS-specific initialization, including adding OS signal handlers on Linux, initializing sockets library on Windows, etc.  <a href="#ad99c16b5d947229d9f8e1c5b2d4cdd73">More...</a><br /></td></tr>
<tr class="separator:ad99c16b5d947229d9f8e1c5b2d4cdd73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57b3baa2fbaa52768e554e3b925ac212"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a57b3baa2fbaa52768e554e3b925ac212">laserAddCreator</a> (const char *laserType, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArLaser.html">ArLaser</a> *, int, const char * &gt; *creator)</td></tr>
<tr class="memdesc:a57b3baa2fbaa52768e554e3b925ac212"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a type of laser for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create.  <a href="#a57b3baa2fbaa52768e554e3b925ac212">More...</a><br /></td></tr>
<tr class="separator:a57b3baa2fbaa52768e554e3b925ac212"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2928ef06ad4ce0eafdb8c5ec322329e9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArLaser.html">ArLaser</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a2928ef06ad4ce0eafdb8c5ec322329e9">laserCreate</a> (const char *laserType, int laserNumber, const char *prefix=&quot;Aria::laserCreate&quot;)</td></tr>
<tr class="memdesc:a2928ef06ad4ce0eafdb8c5ec322329e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a laser of the given type.  <a href="#a2928ef06ad4ce0eafdb8c5ec322329e9">More...</a><br /></td></tr>
<tr class="separator:a2928ef06ad4ce0eafdb8c5ec322329e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b98bc184be756b191a54bb30d1f2d28"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a5b98bc184be756b191a54bb30d1f2d28">laserGetChoices</a> (void)</td></tr>
<tr class="memdesc:a5b98bc184be756b191a54bb30d1f2d28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible laser types (for use in the config)  <a href="#a5b98bc184be756b191a54bb30d1f2d28">More...</a><br /></td></tr>
<tr class="separator:a5b98bc184be756b191a54bb30d1f2d28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cc23bea46dc5b33dce9df9a7afdb77f"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a2cc23bea46dc5b33dce9df9a7afdb77f">laserGetTypes</a> (void)</td></tr>
<tr class="memdesc:a2cc23bea46dc5b33dce9df9a7afdb77f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible laser types.  <a href="#a2cc23bea46dc5b33dce9df9a7afdb77f">More...</a><br /></td></tr>
<tr class="separator:a2cc23bea46dc5b33dce9df9a7afdb77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac92704a7f296a0894c7c2a8ac954a548"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ac92704a7f296a0894c7c2a8ac954a548">lcdAddCreator</a> (const char *lcdType, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArLCDMTX.html">ArLCDMTX</a> *, int, const char * &gt; *creator)</td></tr>
<tr class="memdesc:ac92704a7f296a0894c7c2a8ac954a548"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a type of lcd for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create.  <a href="#ac92704a7f296a0894c7c2a8ac954a548">More...</a><br /></td></tr>
<tr class="separator:ac92704a7f296a0894c7c2a8ac954a548"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48af886132e7c166937fe8042b5f2e0f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArLCDMTX.html">ArLCDMTX</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a48af886132e7c166937fe8042b5f2e0f">lcdCreate</a> (const char *lcdType, int lcdNumber, const char *prefix=&quot;Aria::lcdCreate&quot;)</td></tr>
<tr class="memdesc:a48af886132e7c166937fe8042b5f2e0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a lcd of the given type.  <a href="#a48af886132e7c166937fe8042b5f2e0f">More...</a><br /></td></tr>
<tr class="separator:a48af886132e7c166937fe8042b5f2e0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdf46151aad3b59c239f6fb4a96d7464"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#afdf46151aad3b59c239f6fb4a96d7464">lcdGetChoices</a> (void)</td></tr>
<tr class="memdesc:afdf46151aad3b59c239f6fb4a96d7464"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible lcd types (for use in the config)  <a href="#afdf46151aad3b59c239f6fb4a96d7464">More...</a><br /></td></tr>
<tr class="separator:afdf46151aad3b59c239f6fb4a96d7464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f85f59c1cb3c516599be22017ceced9"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a0f85f59c1cb3c516599be22017ceced9">lcdGetTypes</a> (void)</td></tr>
<tr class="memdesc:a0f85f59c1cb3c516599be22017ceced9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible lcd types.  <a href="#a0f85f59c1cb3c516599be22017ceced9">More...</a><br /></td></tr>
<tr class="separator:a0f85f59c1cb3c516599be22017ceced9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10d71f3d4d0cf7f38c58a1f749f64a42"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a10d71f3d4d0cf7f38c58a1f749f64a42">logOptions</a> (void)</td></tr>
<tr class="memdesc:a10d71f3d4d0cf7f38c58a1f749f64a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs all the options for the program (Calls all the callbacks added with <a class="el" href="classAria.html#aaf44455d5342f42850bc0c4670a03b49" title="Adds a callback for when we log options. ">addLogOptionsCB()</a>)  <a href="#a10d71f3d4d0cf7f38c58a1f749f64a42">More...</a><br /></td></tr>
<tr class="separator:a10d71f3d4d0cf7f38c58a1f749f64a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b090c01d88bb420b8cf8e0384d25ee1"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a1b090c01d88bb420b8cf8e0384d25ee1">parseArgs</a> (void)</td></tr>
<tr class="memdesc:a1b090c01d88bb420b8cf8e0384d25ee1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses the arguments for the program (calls all the callbacks added with <a class="el" href="classAria.html#a1acbbf2d786221fda013d73dc4ecb126" title="Adds a callback for when we parse arguments. ">addParseArgsCB()</a>)  <a href="#a1b090c01d88bb420b8cf8e0384d25ee1">More...</a><br /></td></tr>
<tr class="separator:a1b090c01d88bb420b8cf8e0384d25ee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3459807230a95c226619d314044397fa"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a3459807230a95c226619d314044397fa">remExitCallback</a> (<a class="el" href="classArFunctor.html">ArFunctor</a> *functor)</td></tr>
<tr class="memdesc:a3459807230a95c226619d314044397fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a functor to by called before program exit by <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a>  <a href="#a3459807230a95c226619d314044397fa">More...</a><br /></td></tr>
<tr class="separator:a3459807230a95c226619d314044397fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8196734fc2b1f74d9394a63763cc73c1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a8196734fc2b1f74d9394a63763cc73c1">setDirectory</a> (const char *directory)</td></tr>
<tr class="memdesc:a8196734fc2b1f74d9394a63763cc73c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the directory that ARIA resides in, to override default.  <a href="#a8196734fc2b1f74d9394a63763cc73c1">More...</a><br /></td></tr>
<tr class="separator:a8196734fc2b1f74d9394a63763cc73c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa47e5b65aef1dad5afb24b840b70f7a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa47e5b65aef1dad5afb24b840b70f7a1"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#aa47e5b65aef1dad5afb24b840b70f7a1">setExitCallbacksLogLevel</a> (<a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> level)</td></tr>
<tr class="memdesc:aa47e5b65aef1dad5afb24b840b70f7a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the log level for the exit callbacks. <br /></td></tr>
<tr class="separator:aa47e5b65aef1dad5afb24b840b70f7a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af674f0fc85700e562a3441f3b09ff19d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af674f0fc85700e562a3441f3b09ff19d"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#af674f0fc85700e562a3441f3b09ff19d">setIdentifier</a> (const char *identifier)</td></tr>
<tr class="memdesc:af674f0fc85700e562a3441f3b09ff19d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the identifier (for humans) used for this instance of <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a>. <br /></td></tr>
<tr class="separator:af674f0fc85700e562a3441f3b09ff19d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5773b1e67a77b0eaa1577a55c5e920c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ae5773b1e67a77b0eaa1577a55c5e920c">setJoyHandler</a> (<a class="el" href="classArJoyHandler.html">ArJoyHandler</a> *joyHandler)</td></tr>
<tr class="memdesc:ae5773b1e67a77b0eaa1577a55c5e920c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the joystick handler, so that other classes can find it using <a class="el" href="classAria.html#a61a9601b0b39cba97a3048118e414941" title="Get a pointer to the joystick handler if one has been set with setJoyHandler() ">getJoyHandler()</a>  <a href="#ae5773b1e67a77b0eaa1577a55c5e920c">More...</a><br /></td></tr>
<tr class="separator:ae5773b1e67a77b0eaa1577a55c5e920c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e5496a4ec2c379c8e18706922b57cc1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a9e5496a4ec2c379c8e18706922b57cc1">setKeyHandler</a> (<a class="el" href="classArKeyHandler.html">ArKeyHandler</a> *keyHandler)</td></tr>
<tr class="memdesc:a9e5496a4ec2c379c8e18706922b57cc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the key handler, so that other classes can find it using <a class="el" href="classAria.html#a5b8042b38b19d6a5d3cfbed4df483e67" title="Gets a pointer to the global key handler, if one has been set with setKeyHandler() ...">getKeyHandler()</a>  <a href="#a9e5496a4ec2c379c8e18706922b57cc1">More...</a><br /></td></tr>
<tr class="separator:a9e5496a4ec2c379c8e18706922b57cc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a969fd721e887cfa789629696f3c43b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a5a969fd721e887cfa789629696f3c43b">setMaxNumBatteries</a> (int maxNumBatteries)</td></tr>
<tr class="memdesc:a5a969fd721e887cfa789629696f3c43b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximum number of batteries to use.  <a href="#a5a969fd721e887cfa789629696f3c43b">More...</a><br /></td></tr>
<tr class="separator:a5a969fd721e887cfa789629696f3c43b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da371005a9beb753df540ad5450e9a8"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a8da371005a9beb753df540ad5450e9a8">setMaxNumLasers</a> (int maxNumLasers)</td></tr>
<tr class="memdesc:a8da371005a9beb753df540ad5450e9a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximum number of lasers to use.  <a href="#a8da371005a9beb753df540ad5450e9a8">More...</a><br /></td></tr>
<tr class="separator:a8da371005a9beb753df540ad5450e9a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e84a0d13aae38814fc08cae6a093f13"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a4e84a0d13aae38814fc08cae6a093f13">setMaxNumLCDs</a> (int maxNumLCDs)</td></tr>
<tr class="memdesc:a4e84a0d13aae38814fc08cae6a093f13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximum number of batteries to use.  <a href="#a4e84a0d13aae38814fc08cae6a093f13">More...</a><br /></td></tr>
<tr class="separator:a4e84a0d13aae38814fc08cae6a093f13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38f088f18a74af857fe951c13d2199db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a38f088f18a74af857fe951c13d2199db"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a38f088f18a74af857fe951c13d2199db">setMaxNumPTZs</a> (size_t n)</td></tr>
<tr class="memdesc:a38f088f18a74af857fe951c13d2199db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set maximum limit on PTZ or PTU devices, used by <a class="el" href="classArPTZConnector.html" title="Factory for creating and configuring interfaces for pan/tilt units or camera pan/tilt/zoom control ba...">ArPTZConnector</a>. Call before connecting to PTZ devices with <a class="el" href="classArPTZConnector.html" title="Factory for creating and configuring interfaces for pan/tilt units or camera pan/tilt/zoom control ba...">ArPTZConnector</a>. <br /></td></tr>
<tr class="separator:a38f088f18a74af857fe951c13d2199db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a339f9df212c6a06becfc36ceac6d1ccb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a339f9df212c6a06becfc36ceac6d1ccb">setMaxNumSonarBoards</a> (int maxNumSonarBoards)</td></tr>
<tr class="memdesc:a339f9df212c6a06becfc36ceac6d1ccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the maximum number of sonars to use.  <a href="#a339f9df212c6a06becfc36ceac6d1ccb">More...</a><br /></td></tr>
<tr class="separator:a339f9df212c6a06becfc36ceac6d1ccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad651709fe80ed0f04b6448cb32da0027"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad651709fe80ed0f04b6448cb32da0027"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#ad651709fe80ed0f04b6448cb32da0027">setMaxNumVideoDevices</a> (size_t n)</td></tr>
<tr class="memdesc:ad651709fe80ed0f04b6448cb32da0027"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set maximum limit on video devices (used by ArVideo library) <br /></td></tr>
<tr class="separator:ad651709fe80ed0f04b6448cb32da0027"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83516682059c29c9a10d5ce30663b456"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83516682059c29c9a10d5ce30663b456"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a83516682059c29c9a10d5ce30663b456">setParseArgLogLevel</a> (<a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a> level)</td></tr>
<tr class="memdesc:a83516682059c29c9a10d5ce30663b456"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the log level for the parsing function. <br /></td></tr>
<tr class="separator:a83516682059c29c9a10d5ce30663b456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4794cf7276778c6d03f5ea5238026ed3"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a4794cf7276778c6d03f5ea5238026ed3">setRobotJoyHandler</a> (<a class="el" href="classArRobotJoyHandler.html">ArRobotJoyHandler</a> *robotJoyHandler)</td></tr>
<tr class="memdesc:a4794cf7276778c6d03f5ea5238026ed3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the robot joystick handler, so that other classes can find it.  <a href="#a4794cf7276778c6d03f5ea5238026ed3">More...</a><br /></td></tr>
<tr class="separator:a4794cf7276778c6d03f5ea5238026ed3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a184602a2b3799d61569ec55dd9508450"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a184602a2b3799d61569ec55dd9508450">shutdown</a> ()</td></tr>
<tr class="memdesc:a184602a2b3799d61569ec55dd9508450"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shutdown all <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> processes/threads.  <a href="#a184602a2b3799d61569ec55dd9508450">More...</a><br /></td></tr>
<tr class="separator:a184602a2b3799d61569ec55dd9508450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081e9173b5c5092d1741c72c6034bc29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a081e9173b5c5092d1741c72c6034bc29"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a081e9173b5c5092d1741c72c6034bc29">signalHandlerCB</a> (int sig)</td></tr>
<tr class="memdesc:a081e9173b5c5092d1741c72c6034bc29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal, the callback for the signal handling. <br /></td></tr>
<tr class="separator:a081e9173b5c5092d1741c72c6034bc29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa67168728385c48d3aa8c6b86e81443e"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#aa67168728385c48d3aa8c6b86e81443e">sonarAddCreator</a> (const char *sonarType, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArSonarMTX.html">ArSonarMTX</a> *, int, const char * &gt; *creator)</td></tr>
<tr class="memdesc:aa67168728385c48d3aa8c6b86e81443e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a type of sonar for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create.  <a href="#aa67168728385c48d3aa8c6b86e81443e">More...</a><br /></td></tr>
<tr class="separator:aa67168728385c48d3aa8c6b86e81443e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a464e0b3bf94fd6d0cb9e17d3b1d11f07"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classArSonarMTX.html">ArSonarMTX</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a464e0b3bf94fd6d0cb9e17d3b1d11f07">sonarCreate</a> (const char *sonarType, int sonarNumber, const char *prefix=&quot;Aria::sonarCreate&quot;)</td></tr>
<tr class="memdesc:a464e0b3bf94fd6d0cb9e17d3b1d11f07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a sonar of the given type.  <a href="#a464e0b3bf94fd6d0cb9e17d3b1d11f07">More...</a><br /></td></tr>
<tr class="separator:a464e0b3bf94fd6d0cb9e17d3b1d11f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ce6b4df4b60c7588fe441077240df7c"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a3ce6b4df4b60c7588fe441077240df7c">sonarGetChoices</a> (void)</td></tr>
<tr class="memdesc:a3ce6b4df4b60c7588fe441077240df7c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible sonar types (for use in the config)  <a href="#a3ce6b4df4b60c7588fe441077240df7c">More...</a><br /></td></tr>
<tr class="separator:a3ce6b4df4b60c7588fe441077240df7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf7caa0ed553d05fd4619839858dc790"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#adf7caa0ed553d05fd4619839858dc790">sonarGetTypes</a> (void)</td></tr>
<tr class="memdesc:adf7caa0ed553d05fd4619839858dc790"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a list of the possible sonar types.  <a href="#adf7caa0ed553d05fd4619839858dc790">More...</a><br /></td></tr>
<tr class="separator:adf7caa0ed553d05fd4619839858dc790"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5970d7ac6a16b99b0e08d4cbedd78724"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAria.html#a5970d7ac6a16b99b0e08d4cbedd78724">uninit</a> ()</td></tr>
<tr class="memdesc:a5970d7ac6a16b99b0e08d4cbedd78724"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs OS-specific deinitialization, used by <a class="el" href="classAria.html#a184602a2b3799d61569ec55dd9508450" title="Shutdown all Aria processes/threads. ">shutdown()</a> and <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">exit()</a>.  <a href="#a5970d7ac6a16b99b0e08d4cbedd78724">More...</a><br /></td></tr>
<tr class="separator:a5970d7ac6a16b99b0e08d4cbedd78724"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:a2ce145daf79b81c3455b59f4ed16ca8c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ce145daf79b81c3455b59f4ed16ca8c"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourBatteryChoices</b> = &quot;Choices:&quot;</td></tr>
<tr class="separator:a2ce145daf79b81c3455b59f4ed16ca8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f292205499f778cd7c261216d5b3d4b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f292205499f778cd7c261216d5b3d4b"></a>
static std::map&lt; std::string, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArBatteryMTX.html">ArBatteryMTX</a> *, int, const char * &gt; *, <a class="el" href="structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourBatteryCreatorMap</b></td></tr>
<tr class="separator:a6f292205499f778cd7c261216d5b3d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a691095134c3468169bb5921727c009"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a691095134c3468169bb5921727c009"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourBatteryTypes</b></td></tr>
<tr class="separator:a2a691095134c3468169bb5921727c009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a838954a9e9e72057b3e61558665082c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a838954a9e9e72057b3e61558665082c4"></a>
static <a class="el" href="classArConfig.html">ArConfig</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourConfig</b></td></tr>
<tr class="separator:a838954a9e9e72057b3e61558665082c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9dae6aa72bb2473c264fa7bbda80867"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac9dae6aa72bb2473c264fa7bbda80867"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourDeviceConnectionChoices</b> = &quot;Choices:&quot;</td></tr>
<tr class="separator:ac9dae6aa72bb2473c264fa7bbda80867"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f1d775388774ebea721d2bf45ee78f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20f1d775388774ebea721d2bf45ee78f"></a>
static std::map&lt; std::string, <a class="el" href="classArRetFunctor3.html">ArRetFunctor3</a>&lt; <a class="el" href="classArDeviceConnection.html">ArDeviceConnection</a> *, const char *, const char *, const char * &gt; *, <a class="el" href="structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourDeviceConnectionCreatorMap</b></td></tr>
<tr class="separator:a20f1d775388774ebea721d2bf45ee78f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6ccd7b63543fb6306d8378e226112f9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6ccd7b63543fb6306d8378e226112f9"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourDeviceConnectionTypes</b></td></tr>
<tr class="separator:ad6ccd7b63543fb6306d8378e226112f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21926ea91a1eddc5156c18cc40cd230d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21926ea91a1eddc5156c18cc40cd230d"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourDirectory</b> =&quot;&quot;</td></tr>
<tr class="separator:a21926ea91a1eddc5156c18cc40cd230d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca86592b7262ee1f2e244b6ca6f79e6d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aca86592b7262ee1f2e244b6ca6f79e6d"></a>
static std::multimap&lt; int, <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourExitCallbacks</b></td></tr>
<tr class="separator:aca86592b7262ee1f2e244b6ca6f79e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cc49b6a4a01d8e48df8cef051fef078"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0cc49b6a4a01d8e48df8cef051fef078"></a>
static <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourExitCallbacksLogLevel</b> = <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a></td></tr>
<tr class="separator:a0cc49b6a4a01d8e48df8cef051fef078"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf631c133f0b55e547391e64594aeac2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf631c133f0b55e547391e64594aeac2"></a>
static <a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourExitCallbacksMutex</b></td></tr>
<tr class="separator:abf631c133f0b55e547391e64594aeac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4cb9b255e0fc99957717d84c463d796"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4cb9b255e0fc99957717d84c463d796"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ourExiting</b> =false</td></tr>
<tr class="separator:ae4cb9b255e0fc99957717d84c463d796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88e56f8d8cd5e2582bd834af3a0370d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a88e56f8d8cd5e2582bd834af3a0370d1"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourIdentifier</b> = &quot;generic&quot;</td></tr>
<tr class="separator:a88e56f8d8cd5e2582bd834af3a0370d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4182523bb15365af90e2bdb797a203a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4182523bb15365af90e2bdb797a203a"></a>
static <a class="el" href="classArStringInfoGroup.html">ArStringInfoGroup</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourInfoGroup</b></td></tr>
<tr class="separator:ad4182523bb15365af90e2bdb797a203a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2d8226106be759cd04e1370266b29b2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2d8226106be759cd04e1370266b29b2"></a>
static std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourInitCBs</b></td></tr>
<tr class="separator:ac2d8226106be759cd04e1370266b29b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a972446819b6be46446d2b9f79c0e8187"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a972446819b6be46446d2b9f79c0e8187"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ourInited</b> = false</td></tr>
<tr class="separator:a972446819b6be46446d2b9f79c0e8187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8c4acd7f6516ed02f6eb5e009ee0aaa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8c4acd7f6516ed02f6eb5e009ee0aaa"></a>
static <a class="el" href="classArJoyHandler.html">ArJoyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ourJoyHandler</b> = NULL</td></tr>
<tr class="separator:ab8c4acd7f6516ed02f6eb5e009ee0aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14a8824387d4100c698bdf723867d630"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14a8824387d4100c698bdf723867d630"></a>
static <a class="el" href="classArKeyHandler.html">ArKeyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ourKeyHandler</b> = NULL</td></tr>
<tr class="separator:a14a8824387d4100c698bdf723867d630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afba93beabcbee710a6a7d1a910161af8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afba93beabcbee710a6a7d1a910161af8"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourLaserChoices</b> = &quot;Choices:&quot;</td></tr>
<tr class="separator:afba93beabcbee710a6a7d1a910161af8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01e28fe1a29d13c6455e4affe546ca5d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01e28fe1a29d13c6455e4affe546ca5d"></a>
static std::map&lt; std::string, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArLaser.html">ArLaser</a> *, int, const char * &gt; *, <a class="el" href="structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourLaserCreatorMap</b></td></tr>
<tr class="separator:a01e28fe1a29d13c6455e4affe546ca5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a015f067a945f024d3f33233a2073ca2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a015f067a945f024d3f33233a2073ca2d"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourLaserTypes</b></td></tr>
<tr class="separator:a015f067a945f024d3f33233a2073ca2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa223a012d7e35a643ab30c4b6c608e40"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa223a012d7e35a643ab30c4b6c608e40"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourLCDChoices</b> = &quot;Choices:&quot;</td></tr>
<tr class="separator:aa223a012d7e35a643ab30c4b6c608e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01d3458f6c12b8e80d4887ec35c73b35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01d3458f6c12b8e80d4887ec35c73b35"></a>
static std::map&lt; std::string, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArLCDMTX.html">ArLCDMTX</a> *, int, const char * &gt; *, <a class="el" href="structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourLCDCreatorMap</b></td></tr>
<tr class="separator:a01d3458f6c12b8e80d4887ec35c73b35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cb2a64b96ed985dedda5775bcb4f78a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cb2a64b96ed985dedda5775bcb4f78a"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourLCDTypes</b></td></tr>
<tr class="separator:a4cb2a64b96ed985dedda5775bcb4f78a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab987e2fa2af3be58776ecf0738d6dd31"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab987e2fa2af3be58776ecf0738d6dd31"></a>
static std::multimap&lt; int, <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourLogOptionsCBs</b></td></tr>
<tr class="separator:ab987e2fa2af3be58776ecf0738d6dd31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95b8e1a278ff5f917a3ee51c66556cce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95b8e1a278ff5f917a3ee51c66556cce"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>ourMaxNumBatteries</b> = 1</td></tr>
<tr class="separator:a95b8e1a278ff5f917a3ee51c66556cce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4de516788c408bfb64668e4399dcb277"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4de516788c408bfb64668e4399dcb277"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>ourMaxNumLasers</b> = 2</td></tr>
<tr class="separator:a4de516788c408bfb64668e4399dcb277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1f696b82c666352627688e4196c1250"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1f696b82c666352627688e4196c1250"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>ourMaxNumLCDs</b> = 1</td></tr>
<tr class="separator:ad1f696b82c666352627688e4196c1250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac45088b6bb0fbe41b483b4d95475a82e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac45088b6bb0fbe41b483b4d95475a82e"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><b>ourMaxNumPTZs</b> = 8</td></tr>
<tr class="separator:ac45088b6bb0fbe41b483b4d95475a82e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd9c18685825e4705f8acc5b972e0eb0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd9c18685825e4705f8acc5b972e0eb0"></a>
static int&#160;</td><td class="memItemRight" valign="bottom"><b>ourMaxNumSonarBoards</b> = 1</td></tr>
<tr class="separator:acd9c18685825e4705f8acc5b972e0eb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2b2c1366710854955bb374bdfb41de9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2b2c1366710854955bb374bdfb41de9"></a>
static size_t&#160;</td><td class="memItemRight" valign="bottom"><b>ourMaxNumVideoDevices</b> = 8</td></tr>
<tr class="separator:ae2b2c1366710854955bb374bdfb41de9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf90076ede6aede36a0d4984e6d5a371"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf90076ede6aede36a0d4984e6d5a371"></a>
static std::multimap&lt; int, <a class="el" href="classArRetFunctor.html">ArRetFunctor</a>&lt; bool &gt; * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourParseArgCBs</b></td></tr>
<tr class="separator:abf90076ede6aede36a0d4984e6d5a371"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee879840022d9b9021a14f1921e438f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aee879840022d9b9021a14f1921e438f1"></a>
static <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3">ArLog::LogLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourParseArgsLogLevel</b> = <a class="el" href="classArLog.html#ac8cc0fb3aa323ab2a1c21340fdd1dce3a6e80d09c67dad73e9ba736e91ec893be">ArLog::Verbose</a></td></tr>
<tr class="separator:aee879840022d9b9021a14f1921e438f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a314190fc256f2050cf47c1e6922d90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a314190fc256f2050cf47c1e6922d90"></a>
static <a class="el" href="classArRobotJoyHandler.html">ArRobotJoyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>ourRobotJoyHandler</b> = NULL</td></tr>
<tr class="separator:a9a314190fc256f2050cf47c1e6922d90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5b199a4335f76c9b5c916a19d57a256"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5b199a4335f76c9b5c916a19d57a256"></a>
static std::list&lt; <a class="el" href="classArRobot.html">ArRobot</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourRobots</b></td></tr>
<tr class="separator:ab5b199a4335f76c9b5c916a19d57a256"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab04ea628fe1d1c504ad8898c5467bb25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab04ea628fe1d1c504ad8898c5467bb25"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ourRunning</b> = false</td></tr>
<tr class="separator:ab04ea628fe1d1c504ad8898c5467bb25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11fc72f8fcfcd35462e9c00a00bc5718"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11fc72f8fcfcd35462e9c00a00bc5718"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ourShuttingDown</b> =false</td></tr>
<tr class="separator:a11fc72f8fcfcd35462e9c00a00bc5718"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13a8c0563912c302beae2e5f72499c67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13a8c0563912c302beae2e5f72499c67"></a>
static <a class="el" href="classArMutex.html">ArMutex</a>&#160;</td><td class="memItemRight" valign="bottom"><b>ourShuttingDownMutex</b></td></tr>
<tr class="separator:a13a8c0563912c302beae2e5f72499c67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b16feb8c536880fce38ff52e82dc466"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b16feb8c536880fce38ff52e82dc466"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ourSigHandleExitNotShutdown</b> = true</td></tr>
<tr class="separator:a7b16feb8c536880fce38ff52e82dc466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c1572e30b6d2fb9bb6f025b65fa126e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1c1572e30b6d2fb9bb6f025b65fa126e"></a>
static <a class="el" href="classArGlobalFunctor1.html">ArGlobalFunctor1</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourSignalHandlerCB</b></td></tr>
<tr class="separator:a1c1572e30b6d2fb9bb6f025b65fa126e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dd7763c060b8eae19d18e6256398ca4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3dd7763c060b8eae19d18e6256398ca4"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourSonarChoices</b> = &quot;Choices:&quot;</td></tr>
<tr class="separator:a3dd7763c060b8eae19d18e6256398ca4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa411ee11512c97c874d72ba905a479a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa411ee11512c97c874d72ba905a479a2"></a>
static std::map&lt; std::string, <a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArSonarMTX.html">ArSonarMTX</a> *, int, const char * &gt; *, <a class="el" href="structArStrCaseCmpOp.html">ArStrCaseCmpOp</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourSonarCreatorMap</b></td></tr>
<tr class="separator:aa411ee11512c97c874d72ba905a479a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a991ff3754100b684784503e53e4ce2dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a991ff3754100b684784503e53e4ce2dd"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ourSonarTypes</b></td></tr>
<tr class="separator:a991ff3754100b684784503e53e4ce2dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40897bc093d7279cff8de4342e16f548"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40897bc093d7279cff8de4342e16f548"></a>
static std::list&lt; <a class="el" href="classArFunctor.html">ArFunctor</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>ourUninitCBs</b></td></tr>
<tr class="separator:a40897bc093d7279cff8de4342e16f548"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Contains global initialization, deinitialization and other global functions. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a4bc18753e51734bdf7743a9e7ca56a25"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25">Aria::SigHandleMethod</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a4bc18753e51734bdf7743a9e7ca56a25ad660028ed08bb904b86d16651e56a8a3"></a>SIGHANDLE_SINGLE&#160;</td><td class="fielddoc">
<p>Setup signal handlers in a global, non-thread way. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a4bc18753e51734bdf7743a9e7ca56a25a604a8b71847ee3c5af650f96404053d6"></a>SIGHANDLE_THREAD&#160;</td><td class="fielddoc">
<p>Setup a dedicated signal handling thread. </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a4bc18753e51734bdf7743a9e7ca56a25a7a7ad2c4f31056bbd2c3ada3c170ba7c"></a>SIGHANDLE_NONE&#160;</td><td class="fielddoc">
<p>Do no signal handling. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5c4bfae6980dd3a7655a4cc7b32d1aa4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::addExitCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>position</em> = <code>50</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a functor to by called before program exit by <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> </p>
<p>Note, an exit callback may be called at any time; it should not block or wait on any locked mutexes or similar. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="gpsRobotTaskExample_8cpp-example.html#a35">gpsRobotTaskExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3777666ca7191888f762c8f40f8a9b46"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::addInitCallBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a>&#160;</td>
          <td class="paramname"><em>position</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a callback to call when <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is initialized using <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">init()</a> </p>
<p>This will add a callback to the list of callbacks to call when <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> has been initialized.</p>
<p>It can be called before anything else. </p>

</div>
</div>
<a class="anchor" id="a17deb892ace525987dae1ff1b39de9a1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::addUninitCallBack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>cb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArListPos.html#adb42d52c70a646c5698c5513cd25bbd0">ArListPos::Pos</a>&#160;</td>
          <td class="paramname"><em>position</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a callback to call when <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is uninititialized using <a class="el" href="classAria.html#a5970d7ac6a16b99b0e08d4cbedd78724" title="Performs OS-specific deinitialization, used by shutdown() and exit(). ">uninit()</a> </p>
<p>This will add a callback to the list of callbacks to call right before <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is un-initialized.</p>
<p>It can be called before anything else. This facilitates code that in operating system signal handlers simply calls <a class="el" href="classAria.html#a5970d7ac6a16b99b0e08d4cbedd78724" title="Performs OS-specific deinitialization, used by shutdown() and exit(). ">Aria::uninit()</a> and packages that are based on <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> are unitited as well. It simplifies the entire uninit process. </p>

</div>
</div>
<a class="anchor" id="a03c3b453f8e9c39b4594f08fef6d82be"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::batteryAddCreator </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>batteryType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArBatteryMTX.html">ArBatteryMTX</a> *, int, const char * &gt; *&#160;</td>
          <td class="paramname"><em>creator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a type of battery for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create. </p>
<p>This adds a functor which can create a battery of a given type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">batteryType</td><td>The battery type that the creator will make (these are always checked case insensitively). If there is already a creator for this type, then the old one is replaced and the new one is used.</td></tr>
    <tr><td class="paramname">creator</td><td>A functor which takes an int (battery number) and a const char * (logPrefix) and returns a new battery of the batteryType </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a868be7c1788a4581658e6315c85b6c5f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArBatteryMTX.html">ArBatteryMTX</a> * Aria::batteryCreate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>batteryType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>batteryNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>logPrefix</em> = <code>&quot;Aria::batteryCreate&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a battery of the given type. </p>
<p>Creates a battery of a given type, with the given batteryNumber, and uses the logPrefix for logging what happens.</p>
<p>This is mostly for internal use by <a class="el" href="classArBatteryConnector.html" title="Connect to robot and battery based on run-time availablitily and command-line arguments. ">ArBatteryConnector</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">batteryType</td><td>The type of battery to create</td></tr>
    <tr><td class="paramname">batteryNumber</td><td>The battery number to use for the created battery</td></tr>
    <tr><td class="paramname">logPrefix</td><td>The prefix to use when logging </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aecbce5b997f8d7dbca1dc32abfc0a96e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::batteryGetChoices </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible battery types (for use in the config) </p>
<p>Gets a string that is the types of batteries that can be created separated by ;; characters.</p>
<p>Mostly for internal use by the config. </p>

</div>
</div>
<a class="anchor" id="ae2131a52e77adc4c90712ee64e47fe64"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::batteryGetTypes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible battery types. </p>
<p>Gets a string that is the types of batteries that can be created separated by | characters.</p>
<p>Mostly for internal use by <a class="el" href="classArBatteryConnector.html" title="Connect to robot and battery based on run-time availablitily and command-line arguments. ">ArBatteryConnector</a>. </p>

</div>
</div>
<a class="anchor" id="a6f304d4e47f929ae56c3b702d5f3db85"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::deviceConnectionAddCreator </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>deviceConnectionType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor3.html">ArRetFunctor3</a>&lt; <a class="el" href="classArDeviceConnection.html">ArDeviceConnection</a> *, const char *, const char *, const char * &gt; *&#160;</td>
          <td class="paramname"><em>creator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a type of deviceConnection for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create. </p>
<p>This adds a functor which can create a deviceConnection of a given type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">deviceConnectionType</td><td>The deviceConnection type that the creator will make (these are always checked case insensitively). If there is already a creator for this type, then the old one is replaced and the new one is used.</td></tr>
    <tr><td class="paramname">creator</td><td>A functor which takes a const char * (port name), a const char * (defaultInfo, for example default tcp port), a const char * (logPrefix) and returns a new deviceConnection of the deviceConnectionType if it can create the desired connection. If the connection failes then it should return NULL. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a110b53f7cc33f227b9eba0dfbcf8390f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArDeviceConnection.html">ArDeviceConnection</a> * Aria::deviceConnectionCreate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>deviceConnectionType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>defaultInfo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>logPrefix</em> = <code>&quot;Aria::deviceConnectionCreate&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a deviceConnection of the given type. </p>
<p>Creates a device connection of a given type, connecting to a given port, with the given defaultInfo, logging messages with the given prefix.</p>
<p>This is mostly for internal use by <a class="el" href="classArLaserConnector.html" title="Create laser interface objects (for any kind of laser supported by ARIA) and connect to lasers based ...">ArLaserConnector</a></p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">deviceConnectionType</td><td>The type of device connection to create</td></tr>
    <tr><td class="paramname">port</td><td>The port to connect to (for serial, an example is COM1 or /dev/ttyS0, for tcp an example is p3dx:8101)</td></tr>
    <tr><td class="paramname">defaultInfo</td><td>Default info to use, the only use for this right now is for a default port for a tcp connection (so that if it doesn't have hostname:port format but only hostname then it will use this port)</td></tr>
    <tr><td class="paramname">logPrefix</td><td>The prefix to use when logging </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a09d6b3e96b4019c65a22efbed98d8f1c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::deviceConnectionGetChoices </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible deviceConnection types (for use in the config) </p>
<p>Gets a string that is the types of device connections that can be created separated by ;; characters.</p>
<p>Mostly for internal use by the config. </p>

</div>
</div>
<a class="anchor" id="a9027ef5c17e698423cbe34bc5f01a0af"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::deviceConnectionGetTypes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible deviceConnection types. </p>
<p>Gets a string that is the types of device connections that can be created separated by | characters.</p>
<p>Mostly for internal use by <a class="el" href="classArLaserConnector.html" title="Create laser interface objects (for any kind of laser supported by ARIA) and connect to lasers based ...">ArLaserConnector</a>. </p>

</div>
</div>
<a class="anchor" id="a6abc3d39b3e9548063bb8e78375acc17"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::exit </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exitCode</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Shutdown all <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> processes/threads, call exit callbacks, and exit the program. </p>
<p>This will call the list of <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> exit callbacks (added by <a class="el" href="classAria.html#a5c4bfae6980dd3a7655a4cc7b32d1aa4" title="Adds a functor to by called before program exit by Aria::exit() ">addExitCallback()</a>) and then exit the program with the given exit code.</p>
<p>This method may be used as a replacement for the standard system ::exit() call (which is used by this method to finally exit the program with the given <em>exitCode</em> after finishing <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> shutdown steps.)</p>
<p>Note that this could be called from anywhere, mutexes may be locked when called&ndash; all exit callbacks MUST return and cannot wait for a lock, since this could result in the program hanging due to double-lock (deadlock).</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classAria.html#a5c4bfae6980dd3a7655a4cc7b32d1aa4" title="Adds a functor to by called before program exit by Aria::exit() ">addExitCallback()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionExample_8cpp-example.html#a19">actionExample.cpp</a>, <a class="el" href="actionGroupExample_8cpp-example.html#a13">actionGroupExample.cpp</a>, <a class="el" href="actsColorFollowingExample_8cpp-example.html#a30">actsColorFollowingExample.cpp</a>, <a class="el" href="armExample_8cpp-example.html#a6">armExample.cpp</a>, <a class="el" href="auxSerialExample_8cpp-example.html#a17">auxSerialExample.cpp</a>, <a class="el" href="cameraPTZExample_8cpp-example.html#a12">cameraPTZExample.cpp</a>, <a class="el" href="configExample_8cpp-example.html#a19">configExample.cpp</a>, <a class="el" href="customRangeSensorExample_8cpp-example.html#a28">customRangeSensorExample.cpp</a>, <a class="el" href="customRangeSensorExampleRobotTask_8cpp-example.html#a31">customRangeSensorExampleRobotTask.cpp</a>, <a class="el" href="dataLoggerExample_8cpp-example.html#a19">dataLoggerExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a17">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a8">dpptuExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a13">gotoActionExample.cpp</a>, <a class="el" href="gpsExample_8cpp-example.html#a12">gpsExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a17">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a28">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#a27">gyroExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a11">imuExample.cpp</a>, <a class="el" href="joydriveActionExample_8cpp-example.html#a20">joydriveActionExample.cpp</a>, <a class="el" href="laserConnect_8cpp-example.html#a11">laserConnect.cpp</a>, <a class="el" href="lasers_8cpp-example.html#a11">lasers.cpp</a>, <a class="el" href="lineFinderExample_8cpp-example.html#a11">lineFinderExample.cpp</a>, <a class="el" href="moduleExample_8cpp-example.html#a17">moduleExample.cpp</a>, <a class="el" href="mtxAnalogIOExample_8cpp-example.html#a6">mtxAnalogIOExample.cpp</a>, <a class="el" href="mtxDigitalIOExample_8cpp-example.html#a6">mtxDigitalIOExample.cpp</a>, <a class="el" href="mtxWheelLights_8cpp-example.html#a10">mtxWheelLights.cpp</a>, <a class="el" href="netServerExample_8cpp-example.html#a6">netServerExample.cpp</a>, <a class="el" href="robotConnectionCallbacks_8cpp-example.html#a6">robotConnectionCallbacks.cpp</a>, <a class="el" href="robotSyncTaskExample_8cpp-example.html#a12">robotSyncTaskExample.cpp</a>, <a class="el" href="seekurPower_8cpp-example.html#a9">seekurPower.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a10">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a10">simpleMotionCommands.cpp</a>, <a class="el" href="singleThreadLoopExample_8cpp-example.html#a6">singleThreadLoopExample.cpp</a>, <a class="el" href="socketClientExample_8cpp-example.html#a8">socketClientExample.cpp</a>, <a class="el" href="socketServerExample_8cpp-example.html#a6">socketServerExample.cpp</a>, <a class="el" href="soundsQueueExample_8cpp-example.html#a10">soundsQueueExample.cpp</a>, <a class="el" href="teleopActionsExample_8cpp-example.html#a10">teleopActionsExample.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a11">triangleDriveToActionExample.cpp</a>, <a class="el" href="twoRobotWander_8cpp-example.html#a17">twoRobotWander.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a11">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a754e2bd0104c1e7a2912556bbba75ede"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::exitOld </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>exitCode</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Force an exit of all <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> processes/threads (the old way) </p>
<p>This method is roughly obsolete, it simply forces all the threads to die immediately and then exits...</p>
<p>The new method <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> is preferred.</p>
<p>This calls cancel() on all AtThread's and <a class="el" href="classArASyncTask.html" title="Asynchronous task (runs in its own thread) ">ArASyncTask</a>'s. It forces each thread to exit and should only be used in the case of a thread hanging or getting stuck in an infinite loop. This works fine in Linux. In Windows it is not recommended at all that this function be called. Windows can not handle cleanly killing off a thread. See the help in the VC++ compiler on the WIN32 function TerminateThread. The biggest problem is that the state of DLL's can be destroyed.</p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="a1a3b572771bb33029637750f79eb31c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArRobot.html">ArRobot</a> * Aria::findRobot </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Finds a robot in the global list of robots, by name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of the robot you want to find </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NULL if there is no robot of that name, otherwise the robot with that name </dd></dl>

</div>
</div>
<a class="anchor" id="ace50b4190f04bcacaf285bb5830c5fc2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArConfig.html">ArConfig</a> * Aria::getConfig </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the <a class="el" href="classArConfig.html" title="Stores configuration information which may be read to and from files or other sources. ">ArConfig</a> for this program. </p>
<p>This gets the global config aria uses. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="configExample_8cpp-example.html#a2">configExample.cpp</a>, and <a class="el" href="dataLoggerExample_8cpp-example.html#a8">dataLoggerExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9cbf9a172cb85275b05d391685f223e0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::getDirectory </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the directory that ARIA resides in. </p>
<p>This gets the directory that ARIA is located in, this is so ARIA can find param files and the like.</p>
<dl class="section return"><dt>Returns</dt><dd>the directory ARIA is located in </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classAria.html#a8196734fc2b1f74d9394a63763cc73c1" title="Sets the directory that ARIA resides in, to override default. ">setDirectory</a> </dd></dl>

</div>
</div>
<a class="anchor" id="af1d44610d83bc5112040bc7d4c602ba9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArStringInfoGroup.html">ArStringInfoGroup</a> * Aria::getInfoGroup </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the <a class="el" href="classArStringInfoGroup.html" title="This class takes callbacks from different classes that want this string information and then lets you...">ArStringInfoGroup</a> for this program. </p>
<p>This gets the global string group aria uses. </p>

</div>
</div>
<a class="anchor" id="a61a9601b0b39cba97a3048118e414941"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArJoyHandler.html">ArJoyHandler</a> * Aria::getJoyHandler </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a pointer to the joystick handler if one has been set with <a class="el" href="classAria.html#ae5773b1e67a77b0eaa1577a55c5e920c" title="Sets the joystick handler, so that other classes can find it using getJoyHandler() ...">setJoyHandler()</a> </p>
<p>Gets the joy handler if one has been set. </p>

</div>
</div>
<a class="anchor" id="a5b8042b38b19d6a5d3cfbed4df483e67"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArKeyHandler.html">ArKeyHandler</a> * Aria::getKeyHandler </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a pointer to the global key handler, if one has been set with <a class="el" href="classAria.html#a9e5496a4ec2c379c8e18706922b57cc1" title="Sets the key handler, so that other classes can find it using getKeyHandler() ">setKeyHandler()</a> </p>
<p>Gets the key handler if one has been set. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionGroupExample_8cpp-example.html#a27">actionGroupExample.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a11">dpptuExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a7">gripperExample.cpp</a>, and <a class="el" href="gyroExample_8cpp-example.html#a9">gyroExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a871f3b10da8cecb191b86425bfbe5b19"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Aria::getMaxNumBatteries </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the maximum number of batteris to use. </p>
<p>Gets the maximum number of batteries to check for and use. </p>

</div>
</div>
<a class="anchor" id="a9a2dcc5661ad6dafa8615880b478230c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Aria::getMaxNumLasers </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the maximum number of lasers to use. </p>
<p>Gets the maximum number of lasers to check for and use. </p>

</div>
</div>
<a class="anchor" id="abfdbe360e1646d9a4a1ab6947d2960c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Aria::getMaxNumLCDs </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the maximum number of lcds to use. </p>
<p>Gets the maximum number of lcds to check for and use. </p>

</div>
</div>
<a class="anchor" id="a74f878716e24fb42bb29f5756975f31f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Aria::getMaxNumSonarBoards </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the maximum number of sonars to use. </p>
<p>Gets the maximum number of sonar boards to check for and use. </p>

</div>
</div>
<a class="anchor" id="a3b4e299844dd6775398530c9f4a6f260"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArRobotJoyHandler.html">ArRobotJoyHandler</a> * Aria::getRobotJoyHandler </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the robot joystick handler if one has been set. </p>
<p>Gets the robot joy handler if one has been set. </p>

</div>
</div>
<a class="anchor" id="a573c386c42739be20fa97a99ae65f9ee"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::getRunning </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sees if <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is still running (mostly for the thread in main) </p>
<p>returns true if ARIA is initialized (<a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init()</a> has been called) and has not been shut down by a call to <a class="el" href="classAria.html#a184602a2b3799d61569ec55dd9508450" title="Shutdown all Aria processes/threads. ">Aria::shutdown()</a> or <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> and an operating system signal has not occured (e.g.</p>
<p>external KILL signal) </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="gotoActionExample_8cpp-example.html#a28">gotoActionExample.cpp</a>, <a class="el" href="netServerExample_8cpp-example.html#a9">netServerExample.cpp</a>, <a class="el" href="socketServerExample_8cpp-example.html#a7">socketServerExample.cpp</a>, and <a class="el" href="soundsQueueExample_8cpp-example.html#a12">soundsQueueExample.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="ad99c16b5d947229d9f8e1c5b2d4cdd73"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25">SigHandleMethod</a>&#160;</td>
          <td class="paramname"><em>method</em> = <code><a class="el" href="classAria.html#a4bc18753e51734bdf7743a9e7ca56a25a604a8b71847ee3c5af650f96404053d6">SIGHANDLE_THREAD</a></code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>initSockets</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>sigHandleExitNotShutdown</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Initialize <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> global data struture and perform OS-specific initialization, including adding OS signal handlers on Linux, initializing sockets library on Windows, etc. </p>
<p>This must be called first before any other <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> functions.</p>
<p>It initializes the thread layer and the signal handling method. For Windows it iniatializes the socket layer as well. This also sets the directory <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is located in using ARIA environmental variable (or <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> registry key on Windows). For more about <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a>'s directory see <a class="el" href="classAria.html#a9cbf9a172cb85275b05d391685f223e0" title="Gets the directory that ARIA resides in. ">getDirectory()</a> and <a class="el" href="classAria.html#a8196734fc2b1f74d9394a63763cc73c1" title="Sets the directory that ARIA resides in, to override default. ">setDirectory()</a>.</p>
<p>For Linux the default signal handling method is to intercept OS signals in a dedicated "signal handling thread", which cleanly closes down the program, causes all the instances of <a class="el" href="classArRobot.html" title="Central class for communicating with and operating the robot. ">ArRobot</a> to stop their run loop and disconnect from their robot. The program will exit on the following signals: SIGHUP, SIGINT, SIGQUIT, and SIGTERM.</p>
<p>For Windows, there is no signal handling.</p>
<p>This method also adds the file /etc/Aria.args and the environment variable ARIAARGS as locations for <a class="el" href="classArArgumentParser.html" title="Parse and store program command-line arguments for use by other ARIA classes. ">ArArgumentParser</a> to obtain default argument values from.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">method</td><td>the method in which to handle signals. Defaulted to SIGHANDLE_SINGLE, or the method indicated by the ARIA_SIGHANDLE_METHOD environment variable (NONE, SINGLE or THREAD), if it exists. </td></tr>
    <tr><td class="paramname">initSockets</td><td>specify whether or not to initialize the socket layer. This is only meaningfull for Windows. Defaulted to true.</td></tr>
    <tr><td class="paramname">sigHandleExitNotShutdown</td><td>if this is true and a signal happens <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> will use <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> to quit instead of <a class="el" href="classAria.html#a184602a2b3799d61569ec55dd9508450" title="Shutdown all Aria processes/threads. ">Aria::shutdown()</a>, false will still use <a class="el" href="classAria.html#a184602a2b3799d61569ec55dd9508450" title="Shutdown all Aria processes/threads. ">shutdown()</a> which is the old behavior.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArSignalHandler.html" title="Signal handling class. ">ArSignalHandler</a> </dd>
<dd>
<a class="el" href="classArSocket.html" title="socket communication wrapper ">ArSocket</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionExample_8cpp-example.html#a11">actionExample.cpp</a>, <a class="el" href="actionGroupExample_8cpp-example.html#a2">actionGroupExample.cpp</a>, <a class="el" href="actsColorFollowingExample_8cpp-example.html#a19">actsColorFollowingExample.cpp</a>, <a class="el" href="armExample_8cpp-example.html#a0">armExample.cpp</a>, <a class="el" href="auxSerialExample_8cpp-example.html#a8">auxSerialExample.cpp</a>, <a class="el" href="cameraPTZExample_8cpp-example.html#a0">cameraPTZExample.cpp</a>, <a class="el" href="configExample_8cpp-example.html#a12">configExample.cpp</a>, <a class="el" href="customRangeSensorExample_8cpp-example.html#a20">customRangeSensorExample.cpp</a>, <a class="el" href="customRangeSensorExampleRobotTask_8cpp-example.html#a23">customRangeSensorExampleRobotTask.cpp</a>, <a class="el" href="dataLoggerExample_8cpp-example.html#a2">dataLoggerExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a6">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a19">dpptuExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a0">gotoActionExample.cpp</a>, <a class="el" href="gpsExample_8cpp-example.html#a0">gpsExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a6">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a20">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#a18">gyroExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a0">imuExample.cpp</a>, <a class="el" href="joydriveActionExample_8cpp-example.html#a10">joydriveActionExample.cpp</a>, <a class="el" href="laserConnect_8cpp-example.html#a0">laserConnect.cpp</a>, <a class="el" href="lasers_8cpp-example.html#a0">lasers.cpp</a>, <a class="el" href="lineFinderExample_8cpp-example.html#a0">lineFinderExample.cpp</a>, <a class="el" href="moduleExample_8cpp-example.html#a9">moduleExample.cpp</a>, <a class="el" href="mtxAnalogIOExample_8cpp-example.html#a0">mtxAnalogIOExample.cpp</a>, <a class="el" href="mtxDigitalIOExample_8cpp-example.html#a0">mtxDigitalIOExample.cpp</a>, <a class="el" href="mtxWheelLights_8cpp-example.html#a0">mtxWheelLights.cpp</a>, <a class="el" href="netServerExample_8cpp-example.html#a2">netServerExample.cpp</a>, <a class="el" href="robotConnectionCallbacks_8cpp-example.html#a9">robotConnectionCallbacks.cpp</a>, <a class="el" href="robotSyncTaskExample_8cpp-example.html#a3">robotSyncTaskExample.cpp</a>, <a class="el" href="seekurPower_8cpp-example.html#a0">seekurPower.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a0">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a0">simpleMotionCommands.cpp</a>, <a class="el" href="singleThreadLoopExample_8cpp-example.html#a0">singleThreadLoopExample.cpp</a>, <a class="el" href="socketClientExample_8cpp-example.html#a1">socketClientExample.cpp</a>, <a class="el" href="socketServerExample_8cpp-example.html#a0">socketServerExample.cpp</a>, <a class="el" href="soundsQueueExample_8cpp-example.html#a0">soundsQueueExample.cpp</a>, <a class="el" href="teleopActionsExample_8cpp-example.html#a0">teleopActionsExample.cpp</a>, <a class="el" href="threadExample_8cpp-example.html#a14">threadExample.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a0">triangleDriveToActionExample.cpp</a>, <a class="el" href="twoRobotWander_8cpp-example.html#a0">twoRobotWander.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a0">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a57b3baa2fbaa52768e554e3b925ac212"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::laserAddCreator </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>laserType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArLaser.html">ArLaser</a> *, int, const char * &gt; *&#160;</td>
          <td class="paramname"><em>creator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a type of laser for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create. </p>
<p>This adds a functor which can create a laser of a given type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">laserType</td><td>The laser type that the creator will make (these are always checked case insensitively). If there is already a creator for this type, then the old one is replaced and the new one is used.</td></tr>
    <tr><td class="paramname">creator</td><td>A functor which takes an int (laser number) and a const char * (logPrefix) and returns a new laser of the laserType </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2928ef06ad4ce0eafdb8c5ec322329e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArLaser.html">ArLaser</a> * Aria::laserCreate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>laserType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>laserNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>logPrefix</em> = <code>&quot;Aria::laserCreate&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a laser of the given type. </p>
<p>Creates a laser of a given type, with the given laserNumber, and uses the logPrefix for logging what happens.</p>
<p>This is mostly for internal use by <a class="el" href="classArLaserConnector.html" title="Create laser interface objects (for any kind of laser supported by ARIA) and connect to lasers based ...">ArLaserConnector</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">laserType</td><td>The type of laser to create</td></tr>
    <tr><td class="paramname">laserNumber</td><td>The laser number to use for the created laser</td></tr>
    <tr><td class="paramname">logPrefix</td><td>The prefix to use when logging </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5b98bc184be756b191a54bb30d1f2d28"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::laserGetChoices </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible laser types (for use in the config) </p>
<p>Gets a string that is the types of lasers that can be created separated by ;; characters.</p>
<p>Mostly for internal use by the config </p>

</div>
</div>
<a class="anchor" id="a2cc23bea46dc5b33dce9df9a7afdb77f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::laserGetTypes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible laser types. </p>
<p>Gets a string that is the types of lasers that can be created separated by | characters.</p>
<p>Mostly for internal use by <a class="el" href="classArLaserConnector.html" title="Create laser interface objects (for any kind of laser supported by ARIA) and connect to lasers based ...">ArLaserConnector</a>. </p>

</div>
</div>
<a class="anchor" id="ac92704a7f296a0894c7c2a8ac954a548"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::lcdAddCreator </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>lcdType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArLCDMTX.html">ArLCDMTX</a> *, int, const char * &gt; *&#160;</td>
          <td class="paramname"><em>creator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a type of lcd for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create. </p>
<p>This adds a functor which can create a lcd of a given type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lcdType</td><td>The lcd type that the creator will make (these are always checked case insensitively). If there is already a creator for this type, then the old one is replaced and the new one is used.</td></tr>
    <tr><td class="paramname">creator</td><td>A functor which takes an int (lcd number) and a const char * (logPrefix) and returns a new lcd of the lcdType </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a48af886132e7c166937fe8042b5f2e0f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArLCDMTX.html">ArLCDMTX</a> * Aria::lcdCreate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>lcdType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>lcdNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>logPrefix</em> = <code>&quot;Aria::lcdCreate&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a lcd of the given type. </p>
<p>Creates a lcd of a given type, with the given lcdNumber, and uses the logPrefix for logging what happens.</p>
<p>This is mostly for internal use by <a class="el" href="classArLCDConnector.html" title="Connect to robot and lcd based on run-time availablitily and command-line arguments. ">ArLCDConnector</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">lcdType</td><td>The type of lcd to create</td></tr>
    <tr><td class="paramname">lcdNumber</td><td>The lcd number to use for the created lcd</td></tr>
    <tr><td class="paramname">logPrefix</td><td>The prefix to use when logging </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afdf46151aad3b59c239f6fb4a96d7464"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::lcdGetChoices </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible lcd types (for use in the config) </p>
<p>Gets a string that is the types of batteries that can be created separated by ;; characters.</p>
<p>Mostly for internal use by <a class="el" href="classArLCDConnector.html" title="Connect to robot and lcd based on run-time availablitily and command-line arguments. ">ArLCDConnector</a>. </p>

</div>
</div>
<a class="anchor" id="a0f85f59c1cb3c516599be22017ceced9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::lcdGetTypes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible lcd types. </p>
<p>Gets a string that is the types of batteries that can be created separated by | characters.</p>
<p>Mostly for internal use by <a class="el" href="classArLCDConnector.html" title="Connect to robot and lcd based on run-time availablitily and command-line arguments. ">ArLCDConnector</a>. </p>

</div>
</div>
<a class="anchor" id="a10d71f3d4d0cf7f38c58a1f749f64a42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::logOptions </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Logs all the options for the program (Calls all the callbacks added with <a class="el" href="classAria.html#aaf44455d5342f42850bc0c4670a03b49" title="Adds a callback for when we log options. ">addLogOptionsCB()</a>) </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classAria.html#aaf44455d5342f42850bc0c4670a03b49" title="Adds a callback for when we log options. ">addLogOptionsCB()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionExample_8cpp-example.html#a18">actionExample.cpp</a>, <a class="el" href="actionGroupExample_8cpp-example.html#a12">actionGroupExample.cpp</a>, <a class="el" href="actsColorFollowingExample_8cpp-example.html#a29">actsColorFollowingExample.cpp</a>, <a class="el" href="armExample_8cpp-example.html#a5">armExample.cpp</a>, <a class="el" href="auxSerialExample_8cpp-example.html#a16">auxSerialExample.cpp</a>, <a class="el" href="cameraPTZExample_8cpp-example.html#a11">cameraPTZExample.cpp</a>, <a class="el" href="configExample_8cpp-example.html#a18">configExample.cpp</a>, <a class="el" href="customRangeSensorExample_8cpp-example.html#a27">customRangeSensorExample.cpp</a>, <a class="el" href="customRangeSensorExampleRobotTask_8cpp-example.html#a30">customRangeSensorExampleRobotTask.cpp</a>, <a class="el" href="dataLoggerExample_8cpp-example.html#a18">dataLoggerExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a16">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a29">dpptuExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a12">gotoActionExample.cpp</a>, <a class="el" href="gpsExample_8cpp-example.html#a11">gpsExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a16">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a27">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#a26">gyroExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a10">imuExample.cpp</a>, <a class="el" href="joydriveActionExample_8cpp-example.html#a19">joydriveActionExample.cpp</a>, <a class="el" href="laserConnect_8cpp-example.html#a10">laserConnect.cpp</a>, <a class="el" href="lasers_8cpp-example.html#a10">lasers.cpp</a>, <a class="el" href="lineFinderExample_8cpp-example.html#a10">lineFinderExample.cpp</a>, <a class="el" href="moduleExample_8cpp-example.html#a16">moduleExample.cpp</a>, <a class="el" href="mtxAnalogIOExample_8cpp-example.html#a5">mtxAnalogIOExample.cpp</a>, <a class="el" href="mtxDigitalIOExample_8cpp-example.html#a5">mtxDigitalIOExample.cpp</a>, <a class="el" href="mtxWheelLights_8cpp-example.html#a9">mtxWheelLights.cpp</a>, <a class="el" href="robotConnectionCallbacks_8cpp-example.html#a16">robotConnectionCallbacks.cpp</a>, <a class="el" href="robotSyncTaskExample_8cpp-example.html#a11">robotSyncTaskExample.cpp</a>, <a class="el" href="seekurPower_8cpp-example.html#a8">seekurPower.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a9">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a9">simpleMotionCommands.cpp</a>, <a class="el" href="teleopActionsExample_8cpp-example.html#a9">teleopActionsExample.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a10">triangleDriveToActionExample.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a10">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1b090c01d88bb420b8cf8e0384d25ee1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::parseArgs </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Parses the arguments for the program (calls all the callbacks added with <a class="el" href="classAria.html#a1acbbf2d786221fda013d73dc4ecb126" title="Adds a callback for when we parse arguments. ">addParseArgsCB()</a>) </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classAria.html#a1acbbf2d786221fda013d73dc4ecb126" title="Adds a callback for when we parse arguments. ">addParseArgsCB()</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionExample_8cpp-example.html#a20">actionExample.cpp</a>, <a class="el" href="actionGroupExample_8cpp-example.html#a14">actionGroupExample.cpp</a>, <a class="el" href="actsColorFollowingExample_8cpp-example.html#a31">actsColorFollowingExample.cpp</a>, <a class="el" href="armExample_8cpp-example.html#a4">armExample.cpp</a>, <a class="el" href="auxSerialExample_8cpp-example.html#a18">auxSerialExample.cpp</a>, <a class="el" href="cameraPTZExample_8cpp-example.html#a9">cameraPTZExample.cpp</a>, <a class="el" href="configExample_8cpp-example.html#a15">configExample.cpp</a>, <a class="el" href="customRangeSensorExample_8cpp-example.html#a29">customRangeSensorExample.cpp</a>, <a class="el" href="customRangeSensorExampleRobotTask_8cpp-example.html#a32">customRangeSensorExampleRobotTask.cpp</a>, <a class="el" href="dataLoggerExample_8cpp-example.html#a20">dataLoggerExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a21">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a28">dpptuExample.cpp</a>, <a class="el" href="gotoActionExample_8cpp-example.html#a14">gotoActionExample.cpp</a>, <a class="el" href="gpsExample_8cpp-example.html#a9">gpsExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#a18">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a29">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#a25">gyroExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a12">imuExample.cpp</a>, <a class="el" href="joydriveActionExample_8cpp-example.html#a21">joydriveActionExample.cpp</a>, <a class="el" href="laserConnect_8cpp-example.html#a12">laserConnect.cpp</a>, <a class="el" href="lasers_8cpp-example.html#a12">lasers.cpp</a>, <a class="el" href="lineFinderExample_8cpp-example.html#a12">lineFinderExample.cpp</a>, <a class="el" href="moduleExample_8cpp-example.html#a18">moduleExample.cpp</a>, <a class="el" href="mtxAnalogIOExample_8cpp-example.html#a3">mtxAnalogIOExample.cpp</a>, <a class="el" href="mtxDigitalIOExample_8cpp-example.html#a3">mtxDigitalIOExample.cpp</a>, <a class="el" href="mtxWheelLights_8cpp-example.html#a11">mtxWheelLights.cpp</a>, <a class="el" href="robotConnectionCallbacks_8cpp-example.html#a17">robotConnectionCallbacks.cpp</a>, <a class="el" href="robotSyncTaskExample_8cpp-example.html#a13">robotSyncTaskExample.cpp</a>, <a class="el" href="seekurPower_8cpp-example.html#a10">seekurPower.cpp</a>, <a class="el" href="simpleConnect_8cpp-example.html#a11">simpleConnect.cpp</a>, <a class="el" href="simpleMotionCommands_8cpp-example.html#a11">simpleMotionCommands.cpp</a>, <a class="el" href="teleopActionsExample_8cpp-example.html#a11">teleopActionsExample.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a12">triangleDriveToActionExample.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a12">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a3459807230a95c226619d314044397fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::remExitCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArFunctor.html">ArFunctor</a> *&#160;</td>
          <td class="paramname"><em>functor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Removes a functor to by called before program exit by <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> </p>
<p>Note, an exit callback may be called at any time; it should not * block or wait on any locked mutexes or similar.</p>
<p>Also note that this will not actually happen if it is called while aria is exiting (ie it is walking through the list).</p>
<dl class="section since"><dt>Since</dt><dd>2.7.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a8196734fc2b1f74d9394a63763cc73c1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setDirectory </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>directory</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the directory that ARIA resides in, to override default. </p>
<p>This sets the directory that ARIA is located in, so ARIA can find param files and the like.</p>
<p>This can also be controlled by the environment variable ARIA, which this is set to (if it exists) when <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init</a> is done. So for setDirectory to be effective, it must be done after the <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">directory</td><td>the directory <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> is located in </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classAria.html#a9cbf9a172cb85275b05d391685f223e0" title="Gets the directory that ARIA resides in. ">getDirectory</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ae5773b1e67a77b0eaa1577a55c5e920c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setJoyHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArJoyHandler.html">ArJoyHandler</a> *&#160;</td>
          <td class="paramname"><em>joyHandler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the joystick handler, so that other classes can find it using <a class="el" href="classAria.html#a61a9601b0b39cba97a3048118e414941" title="Get a pointer to the joystick handler if one has been set with setJoyHandler() ">getJoyHandler()</a> </p>
<p>Sets the joy handler, so that other classes can find it. </p>

</div>
</div>
<a class="anchor" id="a9e5496a4ec2c379c8e18706922b57cc1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setKeyHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArKeyHandler.html">ArKeyHandler</a> *&#160;</td>
          <td class="paramname"><em>keyHandler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the key handler, so that other classes can find it using <a class="el" href="classAria.html#a5b8042b38b19d6a5d3cfbed4df483e67" title="Gets a pointer to the global key handler, if one has been set with setKeyHandler() ...">getKeyHandler()</a> </p>
<p>Sets the key handler, so that other classes can find it. </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionGroupExample_8cpp-example.html#a28">actionGroupExample.cpp</a>, <a class="el" href="actsColorFollowingExample_8cpp-example.html#a35">actsColorFollowingExample.cpp</a>, <a class="el" href="demo_8cpp-example.html#a24">demo.cpp</a>, <a class="el" href="dpptuExample_8cpp-example.html#a12">dpptuExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#a8">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#a10">gyroExample.cpp</a>, <a class="el" href="imuExample_8cpp-example.html#a15">imuExample.cpp</a>, <a class="el" href="lineFinderExample_8cpp-example.html#a17">lineFinderExample.cpp</a>, <a class="el" href="triangleDriveToActionExample_8cpp-example.html#a16">triangleDriveToActionExample.cpp</a>, and <a class="el" href="wander_8cpp-example.html#a14">wander.cpp</a>.</dd>
</dl>
</div>
</div>
<a class="anchor" id="a5a969fd721e887cfa789629696f3c43b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setMaxNumBatteries </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxNumBatteries</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the maximum number of batteries to use. </p>
<p>Sets the maximum number of sonars to check for and use, if you are going to set this you should do it after the <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init</a>. </p>

</div>
</div>
<a class="anchor" id="a8da371005a9beb753df540ad5450e9a8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setMaxNumLasers </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxNumLasers</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the maximum number of lasers to use. </p>
<p>Sets the maximum number of lasers to check for and use, if you are going to set this you should do it after the <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init</a> before you start making laser connectors or robots or robot params. </p>

</div>
</div>
<a class="anchor" id="a4e84a0d13aae38814fc08cae6a093f13"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setMaxNumLCDs </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxNumLCDs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the maximum number of batteries to use. </p>
<p>Sets the maximum number of sonars to check for and use, if you are going to set this you should do it after the <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init</a>. </p>

</div>
</div>
<a class="anchor" id="a339f9df212c6a06becfc36ceac6d1ccb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setMaxNumSonarBoards </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxNumSonarBoards</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the maximum number of sonars to use. </p>
<p>Sets the maximum number of sonars to check for and use, if you are going to set this you should do it after the <a class="el" href="classAria.html#ad99c16b5d947229d9f8e1c5b2d4cdd73" title="Initialize Aria global data struture and perform OS-specific initialization, including adding OS sign...">Aria::init</a>. </p>

</div>
</div>
<a class="anchor" id="a4794cf7276778c6d03f5ea5238026ed3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::setRobotJoyHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classArRobotJoyHandler.html">ArRobotJoyHandler</a> *&#160;</td>
          <td class="paramname"><em>robotJoyHandler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the robot joystick handler, so that other classes can find it. </p>
<p>Sets the robot joy handler, so that other classes can find it. </p>

</div>
</div>
<a class="anchor" id="a184602a2b3799d61569ec55dd9508450"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::shutdown </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Shutdown all <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> processes/threads. </p>
<p>Use this function to clean up or uninitialize <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a>, in particular, to stop background threads.</p>
<p>(Note: If you want to shutdown ARIA cleanly at the end of your program or when exiting the program due to error, use <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> instead.) This calls stop() on all <a class="el" href="classArThread.html" title="POSIX/WIN32 thread wrapper class. ">ArThread</a>'s and <a class="el" href="classArASyncTask.html" title="Asynchronous task (runs in its own thread) ">ArASyncTask</a>'s. It will block until all <a class="el" href="classArThread.html" title="POSIX/WIN32 thread wrapper class. ">ArThread</a>'s and <a class="el" href="classArASyncTask.html" title="Asynchronous task (runs in its own thread) ">ArASyncTask</a>'s exit. It is expected that all the tasks will obey the <a class="el" href="classArThread.html#a38947d1e811cabefda057a5da123539a" title="State variable to denote when the thread should continue or exit. ">ArThread::myRunning</a> variable and exit when it is false. Note, this only stop <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a>'s background threads, it does not exit the program. If you want to shutdown ARIA cleanly at the end of your program or when exiting the program due to error, use <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> instead. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">Aria::exit()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa67168728385c48d3aa8c6b86e81443e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Aria::sonarAddCreator </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sonarType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classArRetFunctor2.html">ArRetFunctor2</a>&lt; <a class="el" href="classArSonarMTX.html">ArSonarMTX</a> *, int, const char * &gt; *&#160;</td>
          <td class="paramname"><em>creator</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Adds a type of sonar for <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> to be able to create. </p>
<p>This adds a functor which can create a sonar of a given type.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sonarType</td><td>The sonar type that the creator will make (these are always checked case insensitively). If there is already a creator for this type, then the old one is replaced and the new one is used.</td></tr>
    <tr><td class="paramname">creator</td><td>A functor which takes an int (sonar number) and a const char * (logPrefix) and returns a new sonar of the sonarType </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a464e0b3bf94fd6d0cb9e17d3b1d11f07"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classArSonarMTX.html">ArSonarMTX</a> * Aria::sonarCreate </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>sonarType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>sonarNumber</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>logPrefix</em> = <code>&quot;Aria::sonarCreate&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a sonar of the given type. </p>
<p>Creates a sonar of a given type, with the given sonarNumber, and uses the logPrefix for logging what happens.</p>
<p>This is mostly for internal use by <a class="el" href="classArSonarConnector.html" title="Connect to sonar based on robot parameters and command-line arguments. ">ArSonarConnector</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">sonarType</td><td>The type of sonar to create</td></tr>
    <tr><td class="paramname">sonarNumber</td><td>The sonar number to use for the created sonar</td></tr>
    <tr><td class="paramname">logPrefix</td><td>The prefix to use when logging </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3ce6b4df4b60c7588fe441077240df7c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::sonarGetChoices </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible sonar types (for use in the config) </p>
<p>Gets a string that is the types of sonars that can be created separated by ;; characters.</p>
<p>Mostly for internal use by the config. </p>

</div>
</div>
<a class="anchor" id="adf7caa0ed553d05fd4619839858dc790"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char * Aria::sonarGetTypes </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets a list of the possible sonar types. </p>
<p>Gets a string that is the types of sonars that can be created separated by | characters.</p>
<p>Mostly for internal use by <a class="el" href="classArSonarConnector.html" title="Connect to sonar based on robot parameters and command-line arguments. ">ArSonarConnector</a>. </p>

</div>
</div>
<a class="anchor" id="a5970d7ac6a16b99b0e08d4cbedd78724"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Aria::uninit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs OS-specific deinitialization, used by <a class="el" href="classAria.html#a184602a2b3799d61569ec55dd9508450" title="Shutdown all Aria processes/threads. ">shutdown()</a> and <a class="el" href="classAria.html#a6abc3d39b3e9548063bb8e78375acc17" title="Shutdown all Aria processes/threads, call exit callbacks, and exit the program. ">exit()</a>. </p>
<p>This must be called last, after all other <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> functions.</p>
<p>For both Linux and Windows, it closes all the open ArModules. For Windows it deinitializes the socket layer as well. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ariaInternal.h</li>
<li>Aria.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classAria.html">Aria</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
